package org.readium.r2.testapp.sign_up

import android.content.Context
import android.os.Bundle
import android.widget.Button
import android.content.Intent
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import org.readium.r2.testapp.R
import org.readium.r2.testapp.login.LoginActivity


class SignUpActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.sign_up) // 设置布局文件为 sign_up.xml
        /*注册信息*/
        val signUpButton: Button = findViewById(R.id.sign_button)
        signUpButton.setOnClickListener {
            val username = findViewById<EditText>(R.id.sign_username).text.toString()
            val password = findViewById<EditText>(R.id.sign_password).text.toString()

            if (registerUser(username, password)) {
                // 注册成功，保存用户信息到 SharedPreferences
                saveUserCredentials(username, password)
                // 显示注册成功的消息
                showSignUpSuccessMessage()
                // 跳转到登录界面
                navigateToLoginActivity()
            } else {
                // 注册失败，显示错误消息
            }
        }

        /*点击已有账号返回登录界面*/
        // 获取 sign_login_button
        val signLoginButton: Button = findViewById(R.id.sign_login_button)

        // 设置点击事件监听器
        signLoginButton.setOnClickListener {
            // 跳转到 LoginActivity
            navigateToLoginActivity()
        }
    }

    private fun saveUserCredentials(username: String, password: String) {
        val sharedPreferences = getSharedPreferences("UserCredentials", Context.MODE_PRIVATE)
        with(sharedPreferences.edit()) {
            putString("username", username)
            putString("password", password)
            apply()
        }
    }

    private fun registerUser(username: String, password: String): Boolean {
        // 这里添加将用户信息保存到服务器或本地数据库的逻辑
        // 返回 true 表示注册成功，false 表示注册失败
        return true
    }

    private fun navigateToLoginActivity() {
        // 创建 Intent 来启动 LoginActivity
        val intent = Intent(this, LoginActivity::class.java)
        startActivity(intent)
        // 如果您希望在跳转后关闭当前 Activity，可以调用 finish()
        finish()
    }

    private fun showSignUpSuccessMessage() {
        Toast.makeText(this, "注册成功！", Toast.LENGTH_SHORT).show()
    }
}